package com.dominFramework.core.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.apache.commons.beanutils.Converter;

/**
 * Bean属性复制工具类的日期类型转换器
 * 
 * @author xiongchun
 * @date 2015-10-25
 */
public class BeanUtilsDateConverter implements Converter {

//	@SuppressWarnings("unchecked")
//	@Override
//	public <T> T convert(Class<T> myClass, Object myObj) {
//		if (AOSUtils.isEmpty(myObj)) {
//			return null;
//		}
//		try {
//			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//			return (T) df.parse(myObj.toString());
//		} catch (ParseException e) {
//			try {
//				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//				return (T) df.parse(myObj.toString());
//			} catch (ParseException e1) {
//				try {
//					SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
//					return (T) df.parse(myObj.toString());
//				} catch (ParseException e2) {
//					e2.printStackTrace();
//				}
//			}
//		}
//		return null;
//	}

	@Override
	public Object convert(Class myClass, Object myObj) {
		if (SystemUtils.isEmpty(myObj)) {
			return null;
		}
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			return (Object) df.parse(myObj.toString());
		} catch (ParseException e) {
			try {
				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
				return (Object) df.parse(myObj.toString());
			} catch (ParseException e1) {
				try {
					SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
					return (Object) df.parse(myObj.toString());
				} catch (ParseException e2) {
					e2.printStackTrace();
				}
			}
		}
		return null;
	}

}
